Implementation Notes

Issue #8 — SMF Forwarding Engine (RFC 6621) — 2026-06-14

Design Decisions

Decision Eviction task decoupled from SmfEngine construction

Ambiguity: Where to spawn the tokio background eviction task.

Choice: start_eviction() is a separate method that must be called from within a tokio runtime context. The engine is testable without a runtime.

Deviations

Decision DPD cache not yet integrated into process_packet

The DPD cache is stored in SmfEngine but process_packet does not yet call DPD. This will be wired when the full relay agent integrates SMF.